package com.lk.sys.dao;

import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface SysRoleMenuDao {

    /**
     * 通过角色id查询角色对应的菜单id，应用于SysRoleMenuVo findObjectById(Integer id);的嵌套查询中
     * @author Lukang
     * @date 2021/12/22 下午8:48
     * @param roleId
     * @return int
     */
    int findMenuIdsByRoleId(Integer roleId);

    /**
     * 保存角色菜单关联信息
     * @author Lukang
     * @date 2021/12/16 下午9:20
     * @param roleId
     * @param menuIds
     * @return int
     */
    int insertObjects(@Param("roleId") Integer roleId,
                      @Param("menuIds") Integer[] menuIds);

    /**
     * 基于角色id删除角色菜单关系数据
     * @author Lukang
     * @date 2021/11/4 下午9:42
     * @param roleId
     * @return int
     */
    @Delete("delete from sys_role_menus where role_id=#{roleId}")
    int deleteObjectByRoleId(Integer roleId);

    /**
     * 基于菜单id删除角色菜单关系数据
     * @author Lukang
     * @date 2021/11/4 下午9:42
     * @param menuId
     * @return int
     */
    @Delete("delete from sys_role_menus where menu_id=#{menuId}")
    int deleteObjectRoleMenuId(Integer menuId);
}
